package org.gtiles.components.login.authentication;

/**
 * 授权用户对象
 * 
 * @author GuoR
 * @version 1.0
 */
public interface IAuthenticatedUser {
	public final static String SESSION_ATTRNAME = "LOGIN_PLUGIN_SESSION_NAME";

	public String getEntityID();

	public String getLoginID();

	public String getName();

	/**
	 * 用户所拥有的角色
	 * 
	 * @return 角色编码
	 */
	public String[] getUserRoles();

	/**
	 * 设置用户密码，用于进行登录验证
	 * 
	 * @param password
	 *            用户保存在数据库中的密码
	 */
	public void setPassword(String password);

	/**
	 * 获取扩展账号密码
	 * 
	 * @return 返回账号密码数据
	 */
	public String getPassword();

	/**
	 * 获取扩展账号信息
	 * 
	 * @return 扩展账号对象
	 */
	public Object getExtendAccountInfo();

	/**
	 * 设计扩展账号信息对象
	 * 
	 * @param extendAccountInfo
	 *            扩展账号对象
	 */
	public void setExtendAccountInfo(Object extendAccountInfo);
}
